package com.itheima.array;
/**
 * 需求：定义一个方法，方法接收一个集合对象（泛型为Student）
 *     方法内部将年龄低于18的学生对象找出
 *     并存入新集合对象，方法返回新集合。
 *
 * 思路：
 *     1. 定义方法，方法的形参定义为ArrayList<Student> list
 *     2. 方法内部定义新集合，准备存储筛选出的学生对象 ArrayList<Student> newList
 *     3. 遍历原集合，获取每一个学生对象
 *     4. 通过学生对象调用getAge方法获取年龄，并判断年龄是否低于18
 *     5. 将年龄低于18的学生对象存入新集合
 *     6. 返回新集合
 *     7. main方法中测试该方法
 */

import com.itheima.domain.Student;

import java.util.ArrayList;

public class Demo5 {
    public static void main(String[] args) {
        //创建一个新的集合
        ArrayList<Student>list= new ArrayList<>();
        //创建学生对象用有参构造存入学生信息
        Student stu= new Student("张三",10);
        Student stu2= new Student("张三",10);
        Student stu3= new Student("张三",20);
        //给新的学生信息存入集合中
        list.add(stu);
        list.add(stu2);
        list.add(stu3);
        //调用集合判断的方法
        ArrayList<Student> list1 = getList(list);
        //遍历集合中的每一个元素来打印
        for (int i = 0; i < list1.size(); i++) {
            //取出集合中的每一个元素
            Student student = list1.get(i);
            //打印
            System.out.println(student.getName()+".."+student.getAge());
        }

    }
    //定义一个方法,方法形参定义为Arraylist<Student>list   方法的作用是判断集合中的年龄有没有低于18岁的年龄
    public static ArrayList<Student> getList(ArrayList<Student>list){
        //方法内部定义新的集合,准备存储筛选出来的学生对象ArrayList<Student>newList= new ArrayList<>();
        ArrayList<Student>newList= new ArrayList<>();
        //遍历原集合,获取一个学生对象
        for (int i = 0; i < list.size(); i++) {
            Student stu = list.get(i);
            //通过学生对象调用getAge方法获取年龄,并判断年龄是否低于18;
            int age = stu.getAge();
            if (age<18){
                //将年龄低于18的学生对象存入新的集合
                newList.add(stu);
            }
        }
        //返回新集合
        return newList;
    }
}
